The present invention relates generally to computing systems, and more specifically, to an address translation/specification (ATS) field for a hardware accelerator in a computing system.
A computing system may include a hardware accelerator that interacts with user-space software in the computing system via a trusted operating system (OS)-level driver. The user-space software may send control blocks corresponding to operation requests to the hardware accelerator via the trusted OS level driver, which translates the control blocks into work queue entries that are dequeued by the hardware accelerator for processing. Poorly written or malicious user-space software has the potential to cause the hardware accelerator to initiate memory accesses that crash the computing system. A trusted OS-level driver protects against such memory accesses, as the work queue entries that are received by the hardware accelerator are constructed to have a specific format by the trusted OS-level driver; therefore, the only work queue entries in the specific format are sent to the hardware accelerator. However, architectures may vary among hardware accelerators, and each architecture may require an OS-level driver that is specific to both the OS that is running on the computing system and to the hardware accelerator. Further, each hardware accelerator in a particular computing system may require a dedicated OS-level driver.